
package com.wyzz.hr.bo;

import java.util.*;

import org.hibernate.criterion.DetachedCriteria;

import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Empsalarypay;
import com.wyzz.hr.pojo.Empsalaryperiod;
import com.wyzz.hr.util.Pager;

public interface ISalaryPaidBo {

	public abstract List findByCriteria(DetachedCriteria detachedcriteria);

	public abstract List findPay(DetachedCriteria detachedcriteria, Pager pager);

	public abstract List findPayPaid(DetachedCriteria detachedcriteria,
			Pager pager);

	public abstract List findPayNoPaid(DetachedCriteria detachedcriteria,
			DetachedCriteria detachedcriteria1, Pager pager);

	public abstract List getObjects(Class class1, String as[]);

	public abstract List findNeedApprovePaids(List list, String s,
			Empsalaryperiod empsalaryperiod);

	public abstract boolean deleteSalaryPaid(Empsalarypay empsalarypay);

	public abstract List getDecriedSalaryPaidForEmailSend(String as[], String s);

	public abstract List processForOutput(List list, List list1);

	public abstract List findMySalaryPaid(DetachedCriteria detachedcriteria,
			Pager pager);

	public abstract List searchMySalaryPaid(List list, String s, String s1);

	public abstract Empsalarypay getSalaryByEmpId(String s, String s1);

	public abstract Empsalarypay loadSalaryPay(Object obj, String as[]);

	public abstract Employee getEmployeeByESP(Empsalarypay empsalarypay);

	public abstract boolean saveOrupdateObject(Object obj);

	public abstract boolean saveOrupdate(Collection collection);

	public abstract List getSalaryPaidbyEsav(String s);

	public abstract Empsalarypay getSalaryPaidbyEspId(String s);

	public abstract int hasSalaryPayByAcctVersion(String s);

	public abstract String checkSalaryPay(String s, String s1, String s2,
			String s3, Integer integer) throws Exception;

	public abstract List getEmailList(List list);

	public abstract Boolean shuffleSalaryPay(List list, Map map, List list1);

	public abstract boolean isSalaryPayRecordsExist(String s);

	public abstract Empsalarypay calSalaryPayforPage(Empsalarypay empsalarypay,
			List list) throws Exception;

	public abstract boolean batchInitPaidSave(String s, List list);

	public abstract String batchUpdatePay(String s, List list);

	public abstract boolean batchUpdatePayImport(String s, List<Empsalarypay> list);

	public abstract List searchEmployeeHasSalaryPay(String s);

	public abstract String getGivenMonthAvgPay(String s, String as[]);

	public abstract String[][] getBeneItemsByPay(String s);

	public abstract boolean savePayAndInitEbp(Empsalarypay empsalarypay);

	public abstract void addAddtionalEbpToPay(Empsalarypay empsalarypay,
			boolean flag);

	public abstract boolean haveBeneItems(List list);
}
